From 1db50df4870b5672b3fd5688cb8e6b9c1523f7c2 Mon Sep 17 00:00:00 2001 From: Tim Deegan Date: Fri, 19 Aug 2011 13:29:27 +0100 Subject: [PATCH] nestedhvm: avoid endless loop of nested page faults Stop sending IPIs to flush the nested-on-nested pagetable after write operations. Instead flush the TLB only. This fixes an endless loop of nested page faults after adding an entry to the nested-on-nested pagetable. Signed-off-by: Christoph Egger Committed-by: Tim Deegan --- xen/arch/x86/mm/hap/nested_hap.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/xen/arch/x86/mm/hap/nested_hap.c b/xen/arch/x86/mm/hap/nested_hap.c index 3e8a39dc2b..ebd42cef90 100644 --- a/xen/arch/x86/mm/hap/nested_hap.c +++ b/xen/arch/x86/mm/hap/nested_hap.c @@ -86,8 +86,9 @@ nestedp2m_write_p2m_entry(struct p2m_domain *p2m, unsigned long gfn, old_flags = l1e_get_flags(*p); safe_write_pte(p, new); + if (old_flags & _PAGE_PRESENT) - nestedhvm_vmcx_flushtlb(p2m); + flush_tlb_mask(&p2m->p2m_dirty_cpumask); paging_unlock(d); } -- 2.30.2